// pages/heat/heat.js
import { getFoodsByKeyword } from '../../http/api';


Page({ 
  /**
   * 页面的初始数据
   */
  data: {
    imageprefix:'https://wechatobject-1355794559.cos.ap-guangzhou.myqcloud.com/food/',    
    imagesuffix:'.jpeg',
    categories: [], // 初始化为空数组
    searchKeyword: '', // 当前输入的关键字
    searchResults: [], // 搜索结果列表
    debounceTimer: null, // 防抖定时器
    isEditMode:false //编辑模式
  },  
  navigateBack: function() {
    wx.navigateBack({
      delta: 1 // 返回的页面数，如果 delta 大于现有页面数，则返回到首页。
    });
  },
  // 监听输入框内容变化
  onSearchInput: function(e) {
    const keyword = e.detail.value.trim();
    this.setData({ searchKeyword: keyword });

    // 防抖处理：避免频繁调用后端接口
    clearTimeout(this.data.debounceTimer);
    this.data.debounceTimer = setTimeout(() => {
      if (keyword) {
        this.fetchSearchResults(keyword);
      } else {
        this.setData({ searchResults: [] }); // 清空搜索结果
      }
    }, 300); // 延迟 300ms
  },
    /**
   * 调用后端接口获取搜索结果
   */
  fetchSearchResults(keyword) {
    // 模拟调用后端接口
    wx.showLoading({
      title: '加载中...',
    });
    
    getFoodsByKeyword(keyword)
      .then((res) => {
        wx.hideLoading();
        if (res.success && res.data) {
          this.setData({ searchResults: res.data });
        } else {
          wx.showToast({
            title: '未找到相关食物',
            icon: 'none'
          });
          this.setData({ searchResults: [] });
        }
      })
      .catch((error) => {
        wx.hideLoading();
        wx.showToast({
          title: '网络错误，请稍后重试',
          icon: 'none'
        });
        console.error('请求失败:', error);
      });
  },
  // 点击搜索结果项
  onSelectFood: function(e) {
    const foodId = e.currentTarget.dataset.id;

    // 跳转到食物详情页面，并传递食物 ID
    wx.navigateTo({
      url: `/pages/foodDetail/foodDetail?id=${foodId}&action=${this.data.isEditMode?'edit':'query'}`
    });
  },
  // 分类点击处理
  onCategoryTap: function(e) {
    const categoryId = e.currentTarget.dataset.id;
    wx.navigateTo({
      url: `/pages/foodList/foodList?categoryId=${categoryId}&action=${this.data.isEditMode?'edit':'query'}`
    });
  },
  /**
   * 生命周期函数--监听页面加载
   */
  onLoad(options) {
    const action = options.action;
    const { imageprefix, imagesuffix } = this.data;
    const categories = [
      { id: 'vegetable', name: '蔬菜', backgroundImage: imageprefix + 'vegetable-bg.jpeg' },
      { id: 'meat', name: '肉类', backgroundImage: imageprefix + 'meat-bg' + imagesuffix },
      { id: 'egg', name: '蛋类', backgroundImage: imageprefix + 'egg-bg' + imagesuffix },
      { id: 'fruit', name: '水果', backgroundImage: imageprefix + 'fruit-bg' + imagesuffix },
      { id: 'cereals', name: '谷类及薯类', backgroundImage: imageprefix + 'cereals-bg' + imagesuffix },
      { id: 'soybean', name: '豆制品', backgroundImage: imageprefix + 'soybean-bg' + imagesuffix },
      { id: 'nuts', name: '油脂坚果类', backgroundImage: imageprefix + 'nuts-bg' + imagesuffix },
      { id: 'milk', name: '奶类', backgroundImage: imageprefix + 'milk-bg' + imagesuffix }
    ];
    this.setData({
       categories ,
       isEditMode:action=='edit'?true:false
      }); // 动态设置 categories 数据
  }, 
})